feat(aws-transform): add AWS Transform plugin#164
Conversation
91953e2 to
2b955eb
Compare
|
Automated review:
Location: SKILL.md (resume section) + references/workflow.md ▎ "If any call fails for any reason, silently fall back to local context. Do NOT reveal your reasoning about the refresh to the This catch-all suppression swallows network outages, expired credentials, revoked access, and service errors. A user could Recommendation: Distinguish between "auth not configured" (fine to skip silently) and "auth configured but call fails" (user
Recommendation: Add an explicit exception in SKILL.md for the .NET agent. For telemetry, reconcile the two rules (e.g., "except Important Issues (6 found)
Location: references/dotnet.md ▎ "The backend parses objective as JSON — if it receives prose, parsing fails silently and defaults to auto + net8.0." User selects .NET 10 interactive, but malformed JSON silently overrides to .NET 8 auto. No verification step is prescribed Recommendation: Add instruction to verify effective configuration via get_resource(resource="job") after creation.
Location: references/vmware-network.md File uploads without planStepId succeed (HTTP 200) but are invisible to the agent. Also ~/file.zip "fails silently." The doc Recommendation: Instruct agent to verify upload by listing plan step artifacts immediately after.
Location: .mcp.json, SKILL.md If uvx is missing or awslabs.aws-transform-mcp-server@latest fails to download, the MCP server silently fails to start. No Recommendation: Add guidance to check uv --version and provide installation instructions if tools are unavailable.
Location: references/dotnet.md references these tools, but tools.md (the tool reference) doesn't mention them. load_instructions "gates all job-scoped tools — MUST be called once per job" — this is critical to document.
Location: references/workflow.md The text says "use adaptive_poll" but this tool is not documented anywhere in the PR. Implementers won't know what it is.
SKILL.md lists 9 phases (Resume, Intent, Discovery, Scope, Assessment, Requirements, Approval, Tasks, Execute). The |
|
Thanks for the thorough review! Here's our assessment of each issue: AddressedIssue 2a — Agent discovery vs hardcoded .NET agent name: Issue 2b — Telemetry greeting contradiction: Issue 8 — Phase name misalignment: Post-launch quick fixIssue 3 — Malformed JSON defaults silently: By design / False positiveIssue 1 — Silent error suppression in resume: Issue 4 — Broken artifact uploads without Issue 5 — MCP server startup failure undocumented: Issues 6 & 7 — Missing docs for Note on workload referencesWe don't control the |
2b955eb to
2929977
Compare
|
Follow-up on a few items: Issue 2a — Agent discovery vs hardcoded .NET agent name: Issue 8 — Phase name misalignment:
No changes needed here. |
d98f0f7 to
419afbd
Compare
|
Missing INTERFACE_METADATA in Codex manifest generator — build will break [code-reviewer] tools/generate_codex_manifests.py The repo auto-generates .codex-plugin/plugin.json and .agents/plugins/marketplace.json from the Claude marketplace. This PR hand-crafts both, but doesn't add an INTERFACE_METADATA entry in the generator Fix: Add an aws-transform entry to INTERFACE_METADATA in tools/generate_codex_manifests.py.
[comment-analyzer] SKILL.md vs dotnet.md / workflow.md SKILL.md mandates: "MUST discover agents dynamically via list_resources — do not hardcode agent names." But workflow.md explicitly says the .NET agent is hardcoded, and dotnet.md uses dotnet-chatty-agent as Fix: Add an explicit exception in SKILL.md's constraints, or make .NET discovery-based like other workloads.
[comment-analyzer] sql.md vs all other files sql.md uses upload_transform_task_artifact and send_transform_message, while every other file (SKILL.md, dotnet.md, tools.md) uses upload_artifact and send_message. Neither alternative name appears in Fix: Unify tool names throughout sql.md to match the canonical reference.
[silent-failure-hunter] custom-cli-reference.md, custom-remote-execution.md The if/elif pattern for attaching IAM policies has no else clause. If the caller ARN doesn't match :user/ or :role/ patterns (e.g., federated user, root), nothing is attached and execution continues as if it Fix: Add an else clause that warns about the unrecognized identity type. |
|
Thanks for the review! Good catches. Issue 1 — Issue 2 — Prod URL in Issue 3 — Inconsistent tool names in Issue 4 — IAM policy Will push a fix to the PR to address 1/2/3. |
Adds the aws-transform plugin to the marketplace, providing AI-powered code and workload modernization workflows: .NET Framework to .NET 8/10, mainframe COBOL to Java, VMware to EC2, SQL Server/Oracle/MySQL to Aurora, and Java/Python/Node.js language and AWS SDK upgrades. The plugin guides users through assessment, requirements, approval, tasks, and execution with just-in-time authentication via the AWS Transform MCP server (awslabs.aws-transform-mcp-server).
419afbd to
c25bf74
Compare
|
@krokoko @linchenk369 All issues addressed in latest push https://github.com/awslabs/agent-plugins/compare/419afbd4aa7d80b4248ada5d2b7d578419977568..c25bf74ccf93b72407370b02643017624984a727 |
Summary
Adds the aws-transform plugin, which brings AWS Transform — AWS's AI-powered code and workload modernization service — into coding agents.
Covers the full AWS Transform product surface:
The plugin depends on the existing
awslabs.aws-transform-mcp-server(published to PyPI) and complements it with domain guidance — workflow structure, workload-specific decision points, authentication handling, and troubleshooting.RFC
Linked to RFC #163. Mirrors the parallel approach taken for the AWS Transform MCP server (RFC awslabs/mcp#2811 + PR awslabs/mcp#3282).
Changes
plugins/aws-transform/.claude-plugin/plugin.jsonand.codex-plugin/plugin.json(schema-validated, Migration category).mcp.jsonreferencing the PyPI-published MCP serveraws-transformskill with workload-scoped references (auth, tools, workflow, .NET, mainframe, SQL, VMware subtree, custom-transformation subtree).claude-plugin/marketplace.json— added aws-transform entry undermigrationcategory.agents/plugins/marketplace.json— added aws-transform entry underMigrationcategoryChecklist
.claude-plugin/plugin.jsonvalidates againstschemas/plugin.schema.json.codex-plugin/plugin.jsonvalidates againstschemas/codex-plugin.schema.json(including requiredinterfacefields).mcp.jsonvalidates againstschemas/mcp.schema.jsonSKILL.mdfrontmatter validates againstschemas/skill-frontmatter.schema.jsonBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the project license.